# 定义一个名为Dog的类
class Dog:
    # 类变量，所有Dog类的实例都会共享这个变量
    species = "小土狗"

    # 构造函数，每次创建新实例时调用
    def __init__(self, name, age):
        self.name = name  # 实例变量
        self.age = age    # 实例变量

    # 一个方法，返回描述信息
    def description(self):
        print(f"{self.name} 已经{self.age} 岁了")

    # 另一个方法，返回狗叫的声音
    def speak(self, sound):
        print(f"{self.name}{sound}")   
    
    # 静态方法，返回狗的品种
    @staticmethod
    def get_species():
        return Dog.species 

    # 类方法，返回属于这个类的所有实例
    @classmethod
    def get_all(cls):
        print( cls.species)
    
    
    # 实例方法，返回跑的速度
    def run(self, speed):
       print( f"{self.name}跑的{speed}")
    
# 创建一个Dog类的实例
my_dog = Dog("大黄", 3)

# 调用实例方法  
my_dog.description()  
# 调用实例方法 
my_dog.run("快")  
my_dog.speak("汪汪叫")  
Dog.get_all()  # 调用类方法，返回属于这个类的所有实例 
print(Dog.get_species())  # 调用静态方法，返回狗的品种